﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MattDotson.GlobalToolkit
{
    /// <summary>
    /// Interface used by the <see cref="Currency"/> type to load known currencies.
    /// </summary>
    public interface ICurrencyProvider
    {
        /// <summary>
        /// Returns information about all known currencies.
        /// </summary>
        /// <returns></returns>
        IEnumerable<CurrencyInfo> GetCurrencies();

        /// <summary>
        /// Finds the currency with the specified ISO 4217 code.
        /// </summary>
        /// <param name="isoCode">The iso code.</param>
        /// <returns>An instance of a <see cref="CurrencyInfo"/> if the currency is known; otherwise null. </returns>
        CurrencyInfo GetCurrencyInfo(string isoCode);
    }
}
